A flip-flop is a 1-bit storage element that is commonly used in electronic circuits. The flip-flop is typically used to synchronize timing in a circuit and is one of the most frequently used circuits for reliably sampling and storing data. Accordingly, the flip-flop is a fundamental element of semiconductor circuits that have a single-phase clock.
Various types and structures of flip-flops have been employed in integrated circuits for many years. A flip-flop is a circuit element that greatly determines the overall clocking speed, thus the operating speed, of a processor or controller. FIG. 1 shows a timing diagram of a circuit such as a processor. The timing diagram includes a plurality of timing cycles. A timing cycle has several time segments that relate to functionality of timed circuits. For example, a flip-flop operates according to a timing cycle that includes a setup time TS and a propagation time TP that, in combination, determine a time penalty that arises from operation of the flip-flop. The setup time TS is the time duration that data must be applied to the flip-flop before the flip-flop is ready to store the data. The propagation time TP is the time duration to propagate the data through the flip-flop to computation logic.
Hold time TH is a time segment that expresses the time duration the data must be stable after the clock arrives so that computations are made on the correct data value. The hold time TH is a limitation on system accuracy rather than expressing a limitation on operating speed. Accordingly, the hold time TH is an implementation hazard rather than a time hazard.
Computation time TC is the time duration that is available for logic to perform computations. The computation time TC is theoretically equal to the clock cycle time minus the sum of setup time TS and propagation time TP. To increase computation time TC and/or to increase operating speed, setup time TS or propagation time TP must be reduced.
Many attempts have been made to design faster flip-flops, for example where the sum of the setup time TS and propagation time TP is small and hold time TH is at a minimum, and more reliable flip-flops in the semiconductor industry, particularly in microprocessor designs.
What is needed is a flip-flop circuit that increases operating speed of the processor.
An integrated circuit device for synchronization of data in a data path includes a driver and a storage element coupled to the driver for driving the storage element. The storage element is coupled to the data path outside the data path.
The integrated circuit employs a method of operation including passing a time pulse, sampling data during the time pulse, passing the data to a computation logic along a data path, and storing the sampled data in a storage element connected to but outside the data path.
In accordance with an aspect of usage of the integrated circuit device, a processor includes a control logic for executing computational and logic operations and a memory coupled to the control logic. The control logic and the memory include a plurality of flip-flops for synchronization of data in a data path. The flip-flops include a driver and a storage element coupled to the driver, the driver for driving the storage element, the storage element being coupled to the data path outside the data path.